<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML3.2 EN">
<HTML>
<HEAD>
<META NAME="GENERATOR" CONTENT="DOCTEXT">
<TITLE>MPI_T_event_register_callback</TITLE>
</HEAD>
<BODY BGCOLOR="FFFFFF">
<H1 id="MPI_T_event_register_callback">MPI_T_event_register_callback</H1>
Associates a user-defined function with an allocated event-registration handle 
<H2>Synopsis</H2>
<PRE>
</PRE>
<PRE>
int MPI_T_event_register_callback(MPI_T_event_registration event_registration,
                                  MPI_T_cb_safety cb_safety, MPI_Info info,
                                  void *user_data,
                                  MPI_T_event_cb_function event_cb_function)
</PRE>

<P>
<H2>Input Parameters</H2>
<DL>
<DT><B>event_registration </B> <DD> event registration (handle)

<DT><B>cb_safety </B> <DD> maximum callback safety level (integer)

<DT><B>info </B> <DD> info object (handle)

<DT><B>user_data </B> <DD> pointer to a user-controlled buffer (None)

<DT><B>event_cb_function </B> <DD> pointer to user-defined callback function (function)
</DL>
<P>
<H2>Thread and Interrupt Safety</H2>
<P>
This routine is thread-safe.  This means that this routine may be
safely used by multiple threads without the need for any user-provided
thread locks.  However, the routine is not interrupt safe.  Typically,
this is due to the use of memory allocation routines such as <tt>malloc
</tt>or other non-MPICH runtime routines that are themselves not interrupt-safe.
<P>
<H2>Errors</H2>
<P>
All MPI routines (except <tt>MPI_Wtime</tt> and <tt>MPI_Wtick</tt>) return an error value;
C routines as the value of the function and Fortran routines in the last
argument.  Before the value is returned, the current MPI error handler is
called.  By default, this error handler aborts the MPI job.  The error handler
may be changed with <tt>MPI_Comm_set_errhandler</tt> (for communicators),
<tt>MPI_File_set_errhandler</tt> (for files), and <tt>MPI_Win_set_errhandler</tt> (for
RMA windows).  The MPI-1 routine <tt>MPI_Errhandler_set</tt> may be used but
its use is deprecated.  The predefined error handler
<tt>MPI_ERRORS_RETURN</tt> may be used to cause error values to be returned.
Note that MPI does <em>not</em> guarantee that an MPI program can continue past
an error; however, MPI implementations will attempt to continue whenever
possible.
<P>
<DL>
<DT><B>MPI_SUCCESS </B> <DD> No error; MPI routine completed successfully.
</DL>
<DL>
<DT><B>MPI_ERR_INFO </B> <DD> Invalid Info 
</DL>
<DL>
<DT><B>MPI_T_ERR_INVALID_HANDLE </B> <DD> The handle is invalid.
</DL>
<DL>
<DT><B>MPI_T_ERR_NOT_INITIALIZED </B> <DD> The MPI tool information interface is not initialized.
</DL>
<DL>
<DT><B>MPI_ERR_OTHER </B> <DD> Other error; use <tt>MPI_Error_string</tt> to get more information
about this error code. 
</DL>
<P>
</BODY></HTML>
